[INFO] cloning repository https://github.com/Tarouka/rust-co-toolkit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Tarouka/rust-co-toolkit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTarouka%2Frust-co-toolkit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTarouka%2Frust-co-toolkit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] db527e1a2f16022fa7fd9fba7ad0f8bff6d63a22
[INFO] checking Tarouka/rust-co-toolkit against master#03c609abb6638f9d7f49f34326d4137d07f5cd61 for pr-155945
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTarouka%2Frust-co-toolkit" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Tarouka/rust-co-toolkit
[INFO] finished tweaking git repo https://github.com/Tarouka/rust-co-toolkit
[INFO] tweaked toml for git repo https://github.com/Tarouka/rust-co-toolkit written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Tarouka/rust-co-toolkit on toolchain 03c609abb6638f9d7f49f34326d4137d07f5cd61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Tarouka/rust-co-toolkit already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num-traits v0.1.39
[INFO] [stderr]   Downloaded itoa v0.3.1
[INFO] [stderr]   Downloaded synom v0.11.3
[INFO] [stderr]   Downloaded byteorder v1.0.0
[INFO] [stderr]   Downloaded term_size v0.3.0
[INFO] [stderr]   Downloaded atty v0.2.2
[INFO] [stderr]   Downloaded serde_json v1.0.2
[INFO] [stderr]   Downloaded quote v0.3.15
[INFO] [stderr]   Downloaded serde v1.0.8
[INFO] [stderr]   Downloaded dtoa v0.4.1
[INFO] [stderr]   Downloaded vec_map v0.8.0
[INFO] [stderr]   Downloaded ansi_term v0.9.0
[INFO] [stderr]   Downloaded serde_derive_internals v0.15.1
[INFO] [stderr]   Downloaded thread_local v0.3.3
[INFO] [stderr]   Downloaded unreachable v0.1.1
[INFO] [stderr]   Downloaded thread-id v3.1.0
[INFO] [stderr]   Downloaded memchr v1.0.1
[INFO] [stderr]   Downloaded aho-corasick v0.6.3
[INFO] [stderr]   Downloaded strsim v0.6.0
[INFO] [stderr]   Downloaded utf8-ranges v1.0.0
[INFO] [stderr]   Downloaded rust-ini v0.9.12
[INFO] [stderr]   Downloaded unicode-width v0.1.4
[INFO] [stderr]   Downloaded syn v0.11.11
[INFO] [stderr]   Downloaded bitflags v0.8.2
[INFO] [stderr]   Downloaded unicode-xid v0.0.4
[INFO] [stderr]   Downloaded log v0.3.8
[INFO] [stderr]   Downloaded serde_derive v1.0.8
[INFO] [stderr]   Downloaded unicode-segmentation v1.2.0
[INFO] [stderr]   Downloaded nom v3.0.0
[INFO] [stderr]   Downloaded regex-syntax v0.4.1
[INFO] [stderr]   Downloaded clap v2.24.2
[INFO] [stderr]   Downloaded regex v0.2.2
[INFO] [stderr]   Downloaded libc v0.2.23
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4ff00c99edaeec57dd930d7be398ab8190d6ae3f2870fb8edd09246c201ba84a
[INFO] running `Command { std: "docker" "start" "-a" "4ff00c99edaeec57dd930d7be398ab8190d6ae3f2870fb8edd09246c201ba84a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4ff00c99edaeec57dd930d7be398ab8190d6ae3f2870fb8edd09246c201ba84a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4ff00c99edaeec57dd930d7be398ab8190d6ae3f2870fb8edd09246c201ba84a", kill_on_drop: false }`
[INFO] [stdout] 4ff00c99edaeec57dd930d7be398ab8190d6ae3f2870fb8edd09246c201ba84a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+03c609abb6638f9d7f49f34326d4137d07f5cd61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6b4163b8b9c44090020ff5f9f83a1cdca268db58dece5be5ab9fdeaadd577f65
[INFO] running `Command { std: "docker" "start" "-a" "6b4163b8b9c44090020ff5f9f83a1cdca268db58dece5be5ab9fdeaadd577f65", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Checking libc v0.2.23
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling quote v0.3.15
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking utf8-ranges v1.0.0
[INFO] [stderr]     Checking log v0.3.8
[INFO] [stderr]     Checking itoa v0.3.1
[INFO] [stderr]     Checking dtoa v0.4.1
[INFO] [stderr]     Checking strsim v0.6.0
[INFO] [stderr]     Checking ansi_term v0.9.0
[INFO] [stderr]     Checking regex-syntax v0.4.1
[INFO] [stderr]     Checking vec_map v0.8.0
[INFO] [stderr]     Checking unicode-width v0.1.4
[INFO] [stderr]     Checking bitflags v0.8.2
[INFO] [stderr]     Checking num-traits v0.1.39
[INFO] [stderr]     Checking unicode-segmentation v1.2.0
[INFO] [stderr]     Checking unreachable v0.1.1
[INFO] [stderr]     Checking serde v1.0.8
[INFO] [stderr]    Compiling synom v0.11.3
[INFO] [stderr]     Checking rust-ini v0.9.12
[INFO] [stderr]     Checking byteorder v1.0.0
[INFO] [stderr]     Checking nom v3.0.0
[INFO] [stderr]    Compiling syn v0.11.11
[INFO] [stderr]     Checking memchr v1.0.1
[INFO] [stderr]     Checking thread-id v3.1.0
[INFO] [stderr]     Checking term_size v0.3.0
[INFO] [stderr]     Checking atty v0.2.2
[INFO] [stderr]     Checking thread_local v0.3.3
[INFO] [stderr]     Checking aho-corasick v0.6.3
[INFO] [stderr]     Checking clap v2.24.2
[INFO] [stderr]     Checking regex v0.2.2
[INFO] [stderr]    Compiling serde_derive_internals v0.15.1
[INFO] [stderr]    Compiling serde_derive v1.0.8
[INFO] [stderr]     Checking serde_json v1.0.2
[INFO] [stderr]     Checking toolkit v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::process::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::Cursor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrorKind`, `IResult`, and `not_line_ending`
[INFO] [stdout]   --> src/datfiles.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 |     use nom::{not_line_ending, IResult, ErrorKind};
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/levelexp.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/levelexp.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/levelexp.rs:36:48
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let level: u8 = self.get_level_from_idx(&b);;
[INFO] [stdout]    |                                                         ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::IResult`
[INFO] [stdout]    --> src/itemtype.rs:117:6
[INFO] [stdout]     |
[INFO] [stdout] 117 |     use nom::IResult;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::IResult::Done`
[INFO] [stdout]    --> src/itemtype.rs:118:6
[INFO] [stdout]     |
[INFO] [stdout] 118 |     use nom::IResult::Done;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `datfiles::parser`
[INFO] [stdout]    --> src/magictype.rs:128:6
[INFO] [stdout]     |
[INFO] [stdout] 128 |     use datfiles::parser;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::*`
[INFO] [stdout]    --> src/magictype.rs:133:6
[INFO] [stdout]     |
[INFO] [stdout] 133 |     use nom::*;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::process::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::Cursor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::env;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/main.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrorKind`, `IResult`, and `not_line_ending`
[INFO] [stdout]   --> src/datfiles.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 |     use nom::{not_line_ending, IResult, ErrorKind};
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> src/levelexp.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/levelexp.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]   --> src/levelexp.rs:36:48
[INFO] [stdout]    |
[INFO] [stdout] 36 |             let level: u8 = self.get_level_from_idx(&b);;
[INFO] [stdout]    |                                                         ^ help: remove this semicolon
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(redundant_semicolons)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::IResult`
[INFO] [stdout]    --> src/itemtype.rs:117:6
[INFO] [stdout]     |
[INFO] [stdout] 117 |     use nom::IResult;
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::IResult::Done`
[INFO] [stdout]    --> src/itemtype.rs:118:6
[INFO] [stdout]     |
[INFO] [stdout] 118 |     use nom::IResult::Done;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `datfiles::parser`
[INFO] [stdout]    --> src/magictype.rs:128:6
[INFO] [stdout]     |
[INFO] [stdout] 128 |     use datfiles::parser;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nom::*`
[INFO] [stdout]    --> src/magictype.rs:133:6
[INFO] [stdout]     |
[INFO] [stdout] 133 |     use nom::*;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ReadBytesExt`
[INFO] [stdout]   --> src/levelexp.rs:16:42
[INFO] [stdout]    |
[INFO] [stdout] 16 | use byteorder::{ByteOrder, LittleEndian, ReadBytesExt};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes_read_mb`
[INFO] [stdout]   --> src/levelexp.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let bytes_read_mb: f64 = (bytes_read as f64) / 1024.0 / 1024.0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read_mb`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/itemtype.rs:298:11
[INFO] [stdout]     |
[INFO] [stdout] 298 |                         let header = item_type_header_parsed;
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/magictype.rs:325:11
[INFO] [stdout]     |
[INFO] [stdout] 325 |                         let header = magic_type_header_parsed;
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry_idx`
[INFO] [stdout]    --> src/magictype.rs:348:17
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 Result::Err(entry_idx) => {
[INFO] [stdout]     |                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes_read`
[INFO] [stdout]    --> src/main.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |     let bytes_read = f.read_to_end(&mut buffer).unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes };
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `encoded_bytes` is never read
[INFO] [stdout]    --> src/main.rs:309:42
[INFO] [stdout]     |
[INFO] [stdout] 309 |         let mut encoded_bytes: Vec<u8> = Vec::new();
[INFO] [stdout]     |                                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 312 |             encoded_bytes = decoded_file.serialize_to_string().into_bytes();
[INFO] [stdout]     |             ------------- `encoded_bytes` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:359:13
[INFO] [stdout]     |
[INFO] [stdout] 359 |         let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes };
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `encoded_bytes` is never read
[INFO] [stdout]    --> src/main.rs:351:42
[INFO] [stdout]     |
[INFO] [stdout] 351 |         let mut encoded_bytes: Vec<u8> = Vec::new();
[INFO] [stdout]     |                                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 354 |             encoded_bytes = decoded_file.serialize_to_string().into_bytes();
[INFO] [stdout]     |             ------------- `encoded_bytes` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 411 |         let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes };
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `encoded_bytes` is never read
[INFO] [stdout]    --> src/main.rs:402:42
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut encoded_bytes: Vec<u8> = Vec::new();
[INFO] [stdout]     |                                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 406 |             encoded_bytes = str_bytes.concat().into_bytes();
[INFO] [stdout]     |             ------------- `encoded_bytes` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Level` is never constructed
[INFO] [stdout]   --> src/levelexp.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Level {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LevelExpFile` is never constructed
[INFO] [stdout]   --> src/levelexp.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct LevelExpFile {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_levels`, `get_levels_as_map`, `get_levels_count`, `get_level_from_idx`, `get_exp_from_level`, and `get_file_bytes` are never used
[INFO] [stdout]   --> src/levelexp.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl LevelExpFile {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 29 |     pub fn get_levels(&self) -> Vec<Level> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn get_levels_as_map(&self) -> HashMap<u8, i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn get_levels_count(&self, levels_data: &Vec<u8>) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn get_level_from_idx(&self, idx: &usize) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn get_exp_from_level(&self, levels: &Vec<u8>, idx: &usize) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn get_file_bytes(&self) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_monster_entries_to_str` is never used
[INFO] [stdout]    --> src/monster.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn serialize_monster_entries_to_str(entries: &Vec<MonsterEntry>) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 |     f.write_all(&bytes);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 218 |     let _ = f.write_all(&bytes);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/itemtype.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `ItemTypeEntry` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ItemTypeEntry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/itemtype.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `ItemTypeEntry` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ItemTypeEntry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/magictype.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `MagicTypeEntry` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MagicTypeEntry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/magictype.rs:63:28
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `MagicTypeEntry` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MagicTypeEntry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/monster.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `MonsterEntry` is not local
[INFO] [stdout]   |                 `Serialize` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MonsterEntry`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/monster.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                            -^^^^^^^^^^
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            `MonsterEntry` is not local
[INFO] [stdout]   |                            `Deserialize` is not local
[INFO] [stdout]   |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MonsterEntry`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ReadBytesExt`
[INFO] [stdout]   --> src/levelexp.rs:16:42
[INFO] [stdout]    |
[INFO] [stdout] 16 | use byteorder::{ByteOrder, LittleEndian, ReadBytesExt};
[INFO] [stdout]    |                                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes_read_mb`
[INFO] [stdout]   --> src/levelexp.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let bytes_read_mb: f64 = (bytes_read as f64) / 1024.0 / 1024.0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read_mb`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/itemtype.rs:298:11
[INFO] [stdout]     |
[INFO] [stdout] 298 |                         let header = item_type_header_parsed;
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `header`
[INFO] [stdout]    --> src/magictype.rs:325:11
[INFO] [stdout]     |
[INFO] [stdout] 325 |                         let header = magic_type_header_parsed;
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_header`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entry_idx`
[INFO] [stdout]    --> src/magictype.rs:348:17
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 Result::Err(entry_idx) => {
[INFO] [stdout]     |                             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entry_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bytes_read`
[INFO] [stdout]    --> src/main.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |     let bytes_read = f.read_to_end(&mut buffer).unwrap();
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytes_read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes };
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `encoded_bytes` is never read
[INFO] [stdout]    --> src/main.rs:309:42
[INFO] [stdout]     |
[INFO] [stdout] 309 |         let mut encoded_bytes: Vec<u8> = Vec::new();
[INFO] [stdout]     |                                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 312 |             encoded_bytes = decoded_file.serialize_to_string().into_bytes();
[INFO] [stdout]     |             ------------- `encoded_bytes` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:359:13
[INFO] [stdout]     |
[INFO] [stdout] 359 |         let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes };
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `encoded_bytes` is never read
[INFO] [stdout]    --> src/main.rs:351:42
[INFO] [stdout]     |
[INFO] [stdout] 351 |         let mut encoded_bytes: Vec<u8> = Vec::new();
[INFO] [stdout]     |                                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 354 |             encoded_bytes = decoded_file.serialize_to_string().into_bytes();
[INFO] [stdout]     |             ------------- `encoded_bytes` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 411 |         let mut bytes_to_write = if args.encrypt { encrypt_cofac_bytes(encoded_bytes) } else { encoded_bytes };
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `encoded_bytes` is never read
[INFO] [stdout]    --> src/main.rs:402:42
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let mut encoded_bytes: Vec<u8> = Vec::new();
[INFO] [stdout]     |                                          ^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 406 |             encoded_bytes = str_bytes.concat().into_bytes();
[INFO] [stdout]     |             ------------- `encoded_bytes` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Level` is never constructed
[INFO] [stdout]   --> src/levelexp.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Level {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LevelExpFile` is never constructed
[INFO] [stdout]   --> src/levelexp.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct LevelExpFile {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_levels`, `get_levels_as_map`, `get_levels_count`, `get_level_from_idx`, `get_exp_from_level`, and `get_file_bytes` are never used
[INFO] [stdout]   --> src/levelexp.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl LevelExpFile {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 29 |     pub fn get_levels(&self) -> Vec<Level> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn get_levels_as_map(&self) -> HashMap<u8, i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     fn get_levels_count(&self, levels_data: &Vec<u8>) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn get_level_from_idx(&self, idx: &usize) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn get_exp_from_level(&self, levels: &Vec<u8>, idx: &usize) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn get_file_bytes(&self) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_monster_entries_to_str` is never used
[INFO] [stdout]    --> src/monster.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub fn serialize_monster_entries_to_str(entries: &Vec<MonsterEntry>) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MONSTER_ENTRY_UNFORMATTED` is never used
[INFO] [stdout]    --> src/monster.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |         const MONSTER_ENTRY_UNFORMATTED: &str = "[AMonster]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_monster_entry_parse_then_reformat_returns_start_val` is never used
[INFO] [stdout]    --> src/monster.rs:245:6
[INFO] [stdout]     |
[INFO] [stdout] 245 |         fn test_monster_entry_parse_then_reformat_returns_start_val() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 |     f.write_all(&bytes);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 218 |     let _ = f.write_all(&bytes);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/itemtype.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `ItemTypeEntry` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_ItemTypeEntry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/itemtype.rs:60:28
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `ItemTypeEntry` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_ItemTypeEntry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/magictype.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 `MagicTypeEntry` is not local
[INFO] [stdout]    |                 `Serialize` is not local
[INFO] [stdout]    |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MagicTypeEntry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/magictype.rs:63:28
[INFO] [stdout]    |
[INFO] [stdout] 63 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]    |                            -^^^^^^^^^^
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            `MagicTypeEntry` is not local
[INFO] [stdout]    |                            `Deserialize` is not local
[INFO] [stdout]    |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MagicTypeEntry`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/monster.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |                 |
[INFO] [stdout]   |                 `MonsterEntry` is not local
[INFO] [stdout]   |                 `Serialize` is not local
[INFO] [stdout]   |                 move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_MonsterEntry`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]  --> src/monster.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[derive(Debug, Serialize, Deserialize)]
[INFO] [stdout]   |                            -^^^^^^^^^^
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            `MonsterEntry` is not local
[INFO] [stdout]   |                            `Deserialize` is not local
[INFO] [stdout]   |                            move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_MonsterEntry`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]   = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive`
[INFO] [stdout]   = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]   = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]   = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.47s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.8.2, nom v3.0.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "6b4163b8b9c44090020ff5f9f83a1cdca268db58dece5be5ab9fdeaadd577f65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6b4163b8b9c44090020ff5f9f83a1cdca268db58dece5be5ab9fdeaadd577f65", kill_on_drop: false }`
[INFO] [stdout] 6b4163b8b9c44090020ff5f9f83a1cdca268db58dece5be5ab9fdeaadd577f65
